
//搜索用的数据
var DATA = {

    page : 1,

    per_page : 10,

    type : '',

    virtual_customer_id : '',

    keyword : ''

};

//vue的data
var _Global_Data = {

    tran_type_map : {

        0 : '单光近视',

        1 : '散光定制'

    },                  //透明隐形眼镜的type映射表

    product_type_map : {

        Glass : '镜框',

        Lens : '镜片',

        BeautyContactLens : '彩色隐形眼镜',

        TransparentContactLens : '透明隐形眼镜',

        NursingSupply : '护理用品'

    },                       //商品类别映射表

    all_providers : [],      //所有供应商

    login_customer_type : '',   //登录进来的是什么类型的用户

    query_info : DATA,      //查询所需要的数据

    search_info : {},       //用于接受查询数据

    virtual_product : {},   //本地存储的虚拟仓商品

    virtual_detail : {
        productable : {}
    }     //虚拟仓商品详情

};

var VirtualResource = new Resource( API_LIST.ALL_VIRTUAL_PRODUCT , Vue.http );

!function virtualProduct() {

    var vm = new Vue({

        el : '#virtual_table',

        data : _Global_Data,

        created : function(){

            this.requestProvider();

            this.requestTableData(this.query_info);

            this.login_customer_type = sessionStorage.getItem('login_customer_type');

            sessionStorage.removeItem('login_customer_type');

        },

        computed : {



        },

        methods : {
            //select2获取value的方法
            getValue : function getValue(e){

                this.query_info[e.target.dataset.name] = e.target.value;

            },
            //改变页数的时候出发的函数
            pageChange : function pageChange(val){

                this.search_info.page = val;

                this.search_info.per_page = this.query_info.per_page;

                this.requestTableData(this.search_info);

            },
            //改变每页显示数时触发的函数
            sizeChange : function sizeChange(val){

                this.search_info.per_page = val;

                this.query_info.per_page = val;

                this.requestTableData(this.search_info);

            },
            //点击搜索时触发的函数
            confirmSearch : function confirmSearch(){

                // this.query_info.start_at = $('.start-time').val();
                //
                // this.query_info.end_at = $('.end-time').val();

                var json_object = JSON.stringify(this.query_info);

                this.search_info = JSON.parse(json_object);

                this.requestTableData(this.query_info);

            },
            //上架
            shelves : function shelves(id){

                var self = this;

                var post_data = {

                    re_shelf : 1

                };

                App.blockUI('#query_form');

                VirtualResource.update( id , post_data )
                                .then(function (res) {

                                    if (parseInt(res.data.code) === 0) {

                                        self.requestTableData(self.query_info);

                                        alert('上架成功！');

                                    } else {

                                        throw new Error(res.data.error);

                                    }

                                    App.unblockUI('#query_form');

                                })
                                .catch(function (err) {

                                    console.log(err);

                                    App.unblockUI('#query_form');

                                    alert(err);

                                })
            },
            //下架
            offShelves : function offShelves(id){

                if ( !confirm('是否下架？') ){

                    return false;

                }

                var self = this;

                App.blockUI('#query_form');

                VirtualResource.destroy(id)
                                .then(function (res) {

                                    if (parseInt(res.data.code) === 0) {

                                        self.requestTableData(self.query_info);

                                        alert('下架成功！');

                                    } else {

                                        throw new Error(res.data.error);

                                    }

                                    App.unblockUI('#query_form');

                                })
                                .catch(function (err) {

                                    console.log(err);

                                    App.unblockUI('#query_form');

                                    alert(err);

                                })
            },
            //确认修改
            confirmRevise : function confirmRevise(){

                var self = this;

                App.blockUI('#detail_form');

                var post_data = {

                    shelf_price : this.virtual_detail.settle_price

                };

                VirtualResource.update(this.virtual_detail.id,post_data)
                                .then(function (res) {

                                    if (parseInt(res.data.code) === 0) {

                                        self.requestTableData(self.query_info);

                                        alert('修改成功！');

                                    } else {

                                        throw new Error(res.data.error);

                                    }

                                    App.unblockUI('#detail_form');

                                })
                                .catch(function (err) {

                                    console.log(err);

                                    App.unblockUI('#detail_form');

                                    alert(err);

                                })

            },
            //查看商品详情
            productDetail : function productDetail(id){

                var self = this;

                VirtualResource.show(id)
                                .then(function (res) {

                                    if (parseInt(res.data.code) === 0) {

                                        self.virtual_detail = res.data.product;

                                    } else {

                                        throw new Error(res.data.error);

                                    }

                                })
                                .catch(function (err) {

                                    console.log(err);

                                    alert(err);

                                })
            },
            //所有供应商
            requestProvider : function requestProvider(){

                var self = this;

                VirtualResource.create()
                            .then(function (res) {

                                if (parseInt(res.data.code) === 0) {

                                    self.all_providers = res.data.virtual_customer;

                                } else {

                                    alert(res.data.error);

                                }

                            })
                            .catch(function (err) {

                                console.log(err);

                                alert('网络异常！');

                            })
            },
            //请求列表
            requestTableData : function requestTableData( params ){

                var self = this;

                App.blockUI("#query_form");

                VirtualResource.index( params )
                            .then(function(res){

                                if( parseInt(res.data.code) === 0 ){

                                    self.virtual_product = res.data.products;

                                    self.virtual_product.per_page = parseInt(self.virtual_product.per_page);

                                }else {

                                    alert(res.data.error);

                                }

                                App.unblockUI("#query_form");

                            })
                            .catch(function(err){

                                console.log(err);

                                App.unblockUI("#query_form");

                                alert('初始化数据失败，请刷新重试！')

                            })

            }

        }

    })

}();